package io.itit.ecp.admin.provide.action.resp;

import io.itit.grass.common.provide.action.resp.BaseResp;
import io.itit.grass.dict.starter.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *
 * @Author：Roy
 * @Description：预警管理响应结果
 * @Date：Create by 2023-12-15 11:20:26
 */
@Data
@ToString
@ApiModel("预警管理响应结果")
public class EarlyWarningRecordResp extends BaseResp implements ISceneInfoResp {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("预警Id")
    private String earlyWarningId;

    @ApiModelProperty("预警名称")
    private String warningName;

    @ApiModelProperty("预警类型(1:设备计量预警,2:碳排放预警) >> distCode：ecp-admin.earlyWarningRecord.warningType")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.warningType")
    private String warningType;

    @ApiModelProperty("项目Id")
    private String sceneProjectId;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("场景名称")
    private String sceneInfoName;

    @ApiModelProperty("楼栋Id")
    private String sceneEdificeId;

    @ApiModelProperty("楼层Id")
    private String sceneFloorId;

    @ApiModelProperty("空间Id")
    private String sceneRoomId;

    @ApiModelProperty("计量设备Id")
    private String meterDeviceId;

    @ApiModelProperty("计量设备Code")
    private String meterDeviceName;

    @ApiModelProperty("计量设备编码")
    private String meterDeviceCode;

    @ApiModelProperty("能源类型Id")
    private String energyTypeId;

    @ApiModelProperty("能源类型名称")
    private String energyTypeName;

    @ApiModelProperty("计量条件(1:按时计量,2:按日计量,3:按月计量) >> distCode：ecp-admin.earlyWarningRecord.meterCondition")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.meterCondition")
    private String meterCondition;

    @ApiModelProperty("推送规则(1:实时推送,2:一天一次,3:一天两次,4:一天三次) >> distCode：ecp-admin.earlyWarningRecord.pushRule")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.pushRule")
    private String pushRule;

    @ApiModelProperty("判断规则(1:大于等于,2:小于等于) >> distCode：ecp-admin.earlyWarningRecord.judgeRule")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.judgeRule")
    private String judgeRule;

    @ApiModelProperty("计量数值")
    private BigDecimal meterValue;

    @ApiModelProperty("阈值数值")
    private BigDecimal thresholdValue;

    @ApiModelProperty("阈值数值单位")
    private String thresholdUnit;

    @ApiModelProperty("预警级别(1:(一级)红色预警,2:(二级)橙色预警,3:(三级)黄色预警) >> distCode：ecp-admin.earlyWarningRecord.thresholdLevel")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.thresholdLevel")
    private String thresholdLevel;

    @ApiModelProperty("状态(1:未读,2:部分已读,3:全部已读) >> distCode：ecp-admin.earlyWarningRecord.status")
    @Dict(dictCode = "ecp-admin.earlyWarningRecord.status")
    private String status;

    @ApiModelProperty("机构Id")
    private String deptId;

    @ApiModelProperty("推送用户")
    List<EarlyWarningPushResp> pushUsers;

    @ApiModelProperty("公司名称")
    private String companyName;

    @ApiModelProperty("公司Id")
    private String sceneCompanyId;

}
